{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from PIL import Image\n",
    "import jieba\n",
    "from wordcloud import WordCloud,ImageColorGenerator"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 工作目录\n",
    "cwd = os.getcwd()\n",
    "# 读取文件\n",
    "fh = open(cwd+'\\\\背影.txt','rb')\n",
    "data = fh.read().decode('utf-8')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Building prefix dict from C:\\Users\\lymanZHANG\\Anaconda3\\lib\\site-packages\\jieba\\dict.txt ...\n",
      "Loading model from cache C:\\Users\\LYMANZ~1\\AppData\\Local\\Temp\\jieba.cache\n",
      "Loading model cost 0.9195764064788818 seconds.\n",
      "Prefix dict has been built succesfully.\n"
     ]
    }
   ],
   "source": [
    "seg_str = ' '.join(jieba.cut(data,cut_all = False))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Counter({'，': 101, '。': 48, '我': 44, '他': 35, '的': 30, '了': 27, '父亲': 11, '到': 11, '\\u3000': 10, '；': 10, '走': 10, '去': 9, '！': 8, '不': 7, '是': 7, '看见': 7, '又': 7, '“': 7, '”': 7, '着': 6, '要': 6, '说': 5, '\\r\\n': 5, '橘子': 5, '已': 4, '背影': 4, '便': 4, '时': 4, '茶房': 4, '终于': 4, '过': 4, '自己': 4, '他们': 4, '那边': 4, '铁道': 4, '再': 4, '也': 3, '北京': 3, '地': 3, '在': 3, '丧事': 3, '一日': 3, '送': 3, '但': 3, '怕': 3, '一会': 3, '和': 3, '大': 3, '就': 3, '给': 3, '将': 3, '看': 3, '月台': 3, '自然': 3, '黑布': 3, '与': 2, '相见': 2, '不能': 2, '那年': 2, '祖母': 2, '日子': 2, '徐州': 2, '回家': 2, '眼泪': 2, '不必': 2, '好': 2, '还': 2, '家中': 2, '光景': 2, '很': 2, '一半': 2, '为了': 2, '南京': 2, '回': 2, '我们': 2, '上车': 2, '一个': 2, '踌躇': 2, '只': 2, '不好': 2, '忙': 2, '行李': 2, '向': 2, '过去': 2, '那时': 2, '聪明': 2, '做': 2, '些': 2, '不要': 2, '心里': 2, '人': 2, '唉': 2, '说道': 2, '你': 2, '吧': 2, '几个': 2, '等': 2, '须': 2, '穿过': 2, '马褂': 2, '青布': 2, '棉袍': 2, '慢慢': 2, '爬': 2, '上': 2, '肥胖': 2, '泪': 2, '赶紧': 2, '抱': 2, '放在': 2, '扑': 2, '中': 2, '惦记着': 2, '\\ufeff': 1, '二年': 1, '余': 1, '最': 1, '忘记': 1, '冬天': 1, '死': 1, '差使': 1, '交卸': 1, '正是': 1, '祸不单行': 1, '从': 1, '打算': 1, '跟着': 1, '奔丧': 1, '见': 1, '满院': 1, '狼藉': 1, '东西': 1, '想起': 1, '不禁': 1, '簌簌': 1, '流下': 1, '事已如此': 1, '难过': 1, '天无绝人之路': 1, '变卖': 1, '典质': 1, '亏空': 1, '借钱': 1, '办': 1, '这些': 1, '惨淡': 1, '赋闲': 1, '完毕': 1, '谋事': 1, '念书': 1, '同行': 1, '有': 1, '朋友': 1, '约': 1, '游逛': 1, '勾留': 1, '第二日': 1, '上午': 1, '便须': 1, '渡江': 1, '浦口': 1, '下午': 1, '北': 1, '因为': 1, '事忙': 1, '本已': 1, '说定': 1, '叫': 1, '旅馆': 1, '里': 1, '熟识': 1, '陪': 1, '同去': 1, '再三': 1, '嘱咐': 1, '甚': 1, '仔细': 1, '放心': 1, '妥帖': 1, '颇': 1, '其实': 1, '二十岁': 1, '来往': 1, '两三次': 1, '没有': 1, '甚么': 1, '要紧': 1, '决定': 1, '还是': 1, '两三回': 1, '劝': 1, '不要紧': 1, '江': 1, '进': 1, '车站': 1, '买票': 1, '照看': 1, '太多': 1, '得': 1, '脚夫': 1, '行些': 1, '小费': 1, '才': 1, '可': 1, '讲价钱': 1, '真是': 1, '过分': 1, '总觉': 1, '说话': 1, '漂亮': 1, '非': 1, '插嘴': 1, '不可': 1, '讲定': 1, '价钱': 1, '拣': 1, '定': 1, '靠': 1, '车门': 1, '一张': 1, '椅子': 1, '紫毛': 1, '大衣': 1, '铺': 1, '坐位': 1, '他嘱': 1, '路上': 1, '小心': 1, '夜里': 1, '警醒': 1, '受凉': 1, '嘱托': 1, '好好': 1, '照应': 1, '暗笑': 1, '迂': 1, '认得': 1, '钱': 1, '托': 1, '直是': 1, '白托': 1, '而且': 1, '这样': 1, '年纪': 1, '难道': 1, '料理': 1, '么': 1, '？': 1, '现在': 1, '想想': 1, '真是太': 1, '爸爸': 1, '他望': 1, '车外': 1, '买': 1, '此地': 1, '走动': 1, '栅栏': 1, '外有': 1, '卖东西': 1, '顾客': 1, '跳下去': 1, '爬上去': 1, '胖子': 1, '费事': 1, '本来': 1, '不肯': 1, '只好': 1, '让': 1, '戴': 1, '小帽': 1, '穿着': 1, '深': 1, '蹒跚': 1, '边': 1, '探身': 1, '下去': 1, '尚': 1, '大难': 1, '可是': 1, '容易': 1, '用': 1, '两手': 1, '攀着': 1, '上面': 1, '两脚': 1, '向上': 1, '缩': 1, '身子': 1, '左微': 1, '倾': 1, '显出': 1, '努力': 1, '样子': 1, '这时': 1, '很快': 1, '流下来': 1, '拭干': 1, '别人': 1, '向外看': 1, '朱红': 1, '望': 1, '先': 1, '散': 1, '地上': 1, '下': 1, '起': 1, '这边': 1, '搀': 1, '车上': 1, '一股脑儿': 1, '皮大衣': 1, '于是': 1, '衣上': 1, '泥土': 1, '轻松': 1, '似的': 1, '来信': 1, '我望': 1, '出去': 1, '几步': 1, '回过': 1, '头': 1, '进去': 1, '里边': 1, '没': 1, '混入': 1, '来来往往': 1, '人里': 1, '找不着': 1, '进来': 1, '坐下': 1, '来': 1, '近几年来': 1, '都': 1, '东奔西走': 1, '不如': 1, '少年': 1, '出外': 1, '谋生': 1, '独力': 1, '支持': 1, '许多': 1, '大事': 1, '那知': 1, '老境': 1, '却': 1, '如此': 1, '颓唐': 1, '触目伤怀': 1, '情': 1, '不能自已': 1, '情郁于': 1, '发之于': 1, '外': 1, '家庭': 1, '琐屑': 1, '往往': 1, '触': 1, '之': 1, '怒': 1, '待': 1, '渐渐': 1, '不同': 1, '往日': 1, '最近': 1, '两年': 1, '不见': 1, '忘却': 1, '只是': 1, '儿子': 1, '我北来': 1, '后': 1, '写': 1, '一信': 1, '信中': 1, '身体': 1, '平安': 1, '惟': 1, '膀子': 1, '疼痛': 1, '利害': 1, '举箸': 1, '提笔': 1, '诸多不便': 1, '大约': 1, '大去': 1, '之期': 1, '不远': 1, '矣': 1, '我读': 1, '此处': 1, '晶莹': 1, '泪光': 1, '那': 1, '不知': 1, '何时': 1, '再能': 1})\n"
     ]
    }
   ],
   "source": [
    "from collections import Counter\n",
    "seg_list = jieba.cut(data,cut_all = False)\n",
    "count = Counter(seg_list)\n",
    "print(count)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18ba40c2828>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18ba3eb2f98>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18ba40aff98>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18ba40c2828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "im = np.array(Image.open(cwd+'\\\\beiying.PNG'))\n",
    "#Generate WordCloud\n",
    "wc = WordCloud(background_color = \"white\",\n",
    "               max_words = 100,\n",
    "               mask = im,\n",
    "               max_font_size = 80, \n",
    "               height = 1512, \n",
    "               width = 635, \n",
    "               font_path = 'msyh.ttc') # 简单起见，直接把字体文件复制到项目所在文件夹\n",
    "wc.generate(seg_str)\n",
    "# 从背景图片得到颜色\n",
    "imColor = ImageColorGenerator(im)  \n",
    "\n",
    "# 使用jupyter notebook使用，否则请注释掉\n",
    "% matplotlib inline\n",
    "plt.imshow(wc)\n",
    "wc.to_file(cwd+'\\\\beiying_new.PNG')\n",
    "plt.axis(\"off\")\n",
    "plt.figure()\n",
    "plt.imshow(wc.recolor(color_func=imColor))\n",
    "plt.axis(\"off\")\n",
    "plt.figure()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
